In item movement situations, adding paths over which items can be moved will typically increase the throughput of those items. This is as true physical items, such additional highway lanes for vehicles to use, as it is for data packets traversing a network. While a single network path may be limited to a given packet rate, whether that rate is caused by hardware limitations or congestion, that packet rate can be increased by providing additional network paths over which packets can be transferred. Modern networking protocols even allow data packets that are part of the same packet stream to be transferred over different network paths. A system at the receiving end of those packets is able to reassemble the packet stream properly even though the packets transferred over different paths may not be received in order.
However, in some network arrangements, intermediate network elements between a source and a destination of data packets may be configured to perform functions beyond simply routing the packets to a next hop in the network path. Some of these functions may include stateful functions, such as a firewall function, that rely on connection state information (e.g., network addresses, port identifiers, etc.) when operating on packets. Accordingly, an intermediate system that performs stateful functions can cause a bottle neck for packets in a multi-path routing situation by virtue of the intermediate system requiring the aforementioned state information.
The bottleneck situation above is as much an issue for virtualized intermediate systems as it is for physical intermediate systems. For example, many enterprise networks, or networks having similar architectures, use edge systems to regulate traffic going into and coming out of the network. Virtualizing these edge systems using virtual machines, containers, or some other type of virtualized computing element, allows multiple edge systems to be instantiated on one or more physical host systems. However, even if multiple virtual edge systems are instantiated on the same host system, the state information used by each respective virtual edge systems remains independent just as though those virtual edge systems were distinct physical elements. Thus, even when using virtual edge systems to perform stateful functions on network traffic, the multi-path bottleneck remains.